Traditionally large businesses utilizing a large block of telephone numbers use a private branch exchange (PBX) to control the flow of incoming, internal and outgoing calls. Some of these PBX systems have been used in conjunction with automated call reception software that may allow a caller an action(s) to be taken during the call (e.g., transfer the call to a telephone extension, access voicemail messages, etc.). Some of the previous automated call reception software systems included speech recognition features allowing a caller to vocally identify the action to be taken.
In these systems, the range of actions that a caller could vocally identify was limited according to a fixed menu tree, with each branch of the menu tree having pre-specified options. The automated reception system would store digital representations of speech patterns associated with commands that a caller could select from the fixed menu tree. A digital representation of the caller's vocal identification of an action would be generated using a speech recognition engine. This digital representation would be compared to the digital representation of the speech patterns associated with commands from the fixed menu tree to determine which command the caller selected.
One significant problem associated with these systems is that their dependence on a fixed menu tree or pre-specified range of vocal commands limits their flexibility. For example, it is difficult to use these systems to allow a caller to say the name of a person whose extension the caller wishes to dial. If a company's personnel roster is fairly dynamic, new speech patterns corresponding to added employees must be continually added to the reception system's table of employees and corresponding telephone extensions. Moreover, menu introduction messages informing a user of the menu options are pre-taped and must be completely revised if the company wishes to revise the menu tree.